package config

import (
	"encoding/json"
	"fmt"
	"io/ioutil"
	"os"
)

var Cfg *Config = new(Config)

type Config struct {
	*ImCloud `json:"im-cloud"`
	ImServers map[string]*ImServer `json:"im-server-s"`
	*Keys `json:"keys"`
	*Redis `json:"redis"`
}

type ImCloud struct {
	Addr string `json:"addr"`
	Orig string `json:"orig"`
	Name string `json:"name"`
	WsUri string `json:"ws_uri"`
}

type ImServer struct {
	Addr string `json:"addr"`
	Orig string `json:"orig"`
	Name string `json:"name"`
	WsUri string `json:"ws_uri"`
}

type Keys struct {
	ImClient string `json:"im-client"`
	ImServer string `json:"im-server"`
	Jwt string `json:"jwt"`
}

type Redis struct {
	Addr string `json:"addr"`
}

func init() {
	path := "/Users/wgp/go/src/im/config/imstar.json"
	file, _ := os.Open(path)
	d, _ := ioutil.ReadAll(file)
	// 放到 Cfg 中
	err := json.Unmarshal(d, Cfg)
	if err != nil {
		fmt.Println(string(d))
		fmt.Println(Cfg)
		fmt.Println(err)
	}
}


